<!DOCTYPE html>
<html lang="en">
  <head><meta name="generator" content="Hexo 3.9.0">
    <meta charset="utf-8">

    <title>easy java document | easy-java </title>
    <meta name="description" content>
    <meta name="viewport" content="width=device-width, initial-scale=1">

    

    <!-- fonts -->
    <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700" rel="stylesheet">
    <link href="//fonts.googleapis.com/css?family=Ubuntu:300,400,500,600,700" rel="stylesheet">

    <!-- stylesheets -->
    <link rel="stylesheet" href="/ejdoc/style/doc.css">

    <!-- favicon -->
    <link rel="icon" href="/ejdoc/images/favicon.ico">

    

  </head>
  <body>

   <script>window.__INITIAL_STATE__ = {"page":{"title":"easy-java","path":"build-code.html"},"data":{"navigation":{"logo":{"text":"Easy Java","type":"link","path":"index.html"},"main":[{"text":"工作流与业务流集合","type":"link","path":"wf3.html"},{"text":"一对多关联V2.0","type":"link","path":"o2m.html"}]},"navigation.yaml":"{\n  \"logo\": {\n    \"text\": \"Easy Java\",\n    \"type\": \"link\",\n    \"path\": \"index.html\"\n  },\n  \"main\": [\n    {\n        \"text\": \"如何让你的项目快人N步?\",\n        \"type\": \"link\",\n        \"path\": \"index.html\"\n    },\n    {\n        \"text\": \"起步（从无到有）\",\n        \"type\": \"link\",\n        \"path\": \"build-code.html\"\n    },\n    {\n        \"text\": \"项目演示地址\",\n        \"type\": \"link\",\n        \"path\": \"show.html\"\n    },\n    {\n        \"text\": \"安装\",\n        \"type\": \"link\",\n        \"path\": \"install.html\"\n    },\n    {\n        \"text\": \"功能介绍\",\n        \"type\": \"link\",\n        \"path\": \"function1.html\"\n    },\n    {\n        \"text\": \"动态工作流-内置表单\",\n        \"type\": \"link\",\n        \"path\": \"workflow1.html\"\n    },\n    {\n        \"text\": \"动态工作流-外置表单\",\n        \"type\": \"link\",\n        \"path\": \"workflow2.html\"\n    },\n    {\n        \"text\": \"分布式定时任务\",\n        \"type\": \"link\",\n        \"path\": \"timer.html\"\n    },\n    {\n        \"text\": \"升级日志\",\n        \"type\": \"link\",\n        \"path\": \"log-20200517.html\"\n    },\n    {\n        \"text\": \"计划\",\n        \"type\": \"link\",\n        \"path\": \"future.html\"\n    },\n    {\n        \"text\": \"有Bug及时发我完善\",\n        \"type\": \"label\"\n    }\n  ]\n}\n"},"config":{"timezone":"UTC","root":"/ejdoc/","time_format":"HH:mm:ss","theme":"../node_modules/hexo-theme-doc","theme_config":{"swagger_ui":{"version":2,"permalinks":true,"api_explorer":true,"download":"Download specification","show_extensions":false,"deep_linking":true,"display_operation_id":false,"doc_expansion":"none"},"search":{"skip":false,"background":false,"route":"/lunr.json"},"favicon":"images/favicon.ico"}}}</script>

    <div id="react-navigation-root"><div class="doc-navigation" data-reactroot><nav class="doc-navbar"><a href="/ejdoc/index.html" class="doc-navbar__logo"><img src="/ejdoc/images/logo.png" class="doc-navbar__logo__img"><span class="doc-navbar__logo__text">Easy Java</span></a><i class="dc-icon dc-icon--close dc-icon--interactive doc-sidebar-close doc-navbar__sidebar-close doc-navbar__sidebar-close--desktop"></i><i class="dc-icon dc-icon--menu dc-icon--interactive doc-sidebar-toggle doc-navbar__sidebar-toggle"></i></nav><nav class="doc-sidebar"><div class="doc-sidebar__vertical-menu"><i class="dc-icon dc-icon--menu dc-icon--interactive doc-sidebar-toggle doc-sidebar-toggle--primary doc-sidebar__vertical-menu__item"></i><i class="dc-icon dc-icon--search dc-icon--interactive doc-sidebar__vertical-menu__item doc-sidebar__vertical-menu__item--primary"></i></div><div class="doc-sidebar-content"><div class="doc-sidebar__search-form"></div><ul class="doc-sidebar-list"></ul></div></nav></div></div>
    <div class="doc-content">
  <div class="dc-page">
    <div class="dc-card">
      <div id="react-search-results-root"></div>
      <div id="page-content" class="doc-formatting">
        <h2 id="起步"><a href="#起步" class="headerlink" title="起步"></a>起步</h2><pre><code>首先了解几个关键字
模板：简单理解，就是对数据库一张表的信息补充。主要记录了表名、sql查询主表语句。
模板列：简单理解，就是对数据库表列的信息补充。主要记录列在页面的显示状态，如：列名称、列属性、列宽度、是否是查询条件等等。
这样说，还是比较抽象，下面直接看演示，然后一步步看说明。
演示：新建模板、自动创建预览菜单和相应源码。
</code></pre><p><img src="./images/build-code.gif" width="1000"></p>
<h2 id="第一步-新建模板"><a href="#第一步-新建模板" class="headerlink" title="第一步 新建模板"></a>第一步 新建模板</h2><pre><code>在菜单&quot;开发者工具/模板管理&quot;中，点击源码生成器，在生成器中输入表名（多表时，可用通配符，如, shop开头的表，shop_*），点扫库生成源码，这时系统会自动扫描数据库指定的表和列信息，填充模板和模板列。

源码生成器：
</code></pre><p><img src="./images/build-code.jpg" width="1000"></p>
<pre><code>模板：
表sql属性，是拼接sql语句的主表部分；
单表查询时，格式为：table1 t1；
多表查询时，使用left join、inner join 或right join，格式为：table1 t1 left join table2 t2 on t1.id=t2.xxid
</code></pre><p><img src="./images/table.png" width="1000"></p>
<pre><code>模板列：
   对表格属性的各种控制，看图吧：
</code></pre><p><img src="./images/column.png" width="1000"></p>
<h2 id="第二步-预览菜单"><a href="#第二步-预览菜单" class="headerlink" title="第二步 预览菜单"></a>第二步 预览菜单</h2><pre><code>   第一步操作完，就自动生成了预览菜单，点击相应预览菜单，该页面提供复杂模板配置、模板列(看上一张图说明)、生成源码等预览配置级功能。
复杂模板配置，主要是针对主从表相关参数配置，具体看图说明:
</code></pre><p><img src="./images/tmpt-config.png" width="1000"></p>
<h2 id="第三步-生成源码"><a href="#第三步-生成源码" class="headerlink" title="第三步 生成源码"></a>第三步 生成源码</h2><pre><code>点预览菜单中的，生成源码按钮，系统自动生成源码；
</code></pre><h2 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h2><pre><code>整个过程，你只需要在源码生成器中，输入表名，点扫库生成源码，苦活累活，系统帮你干掉了；
打完收工，是不是很简单。
</code></pre>
        <div id="react-support-footer-root"></div>
      </div>
    </div>
  </div>
</div>

    


    

    <!-- js vendors -->
    <script src="//code.jquery.com/jquery-3.2.1.min.js" crossorigin="anonymous"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/lunr.js/2.1.0/lunr.min.js"></script>

    <!-- js source  -->
    <script src="/ejdoc/script/doc.js"></script>

    

  </body>
</html>
